package hoja7bst;

import structure5.Hashtable;
import structure5.RedBlackTree;
import structure5.SplayTree;

/*
UVG
Algoritmos y Estructuras de Datos - 2011
Hoja de trabajo 7 
Autor: Eduardo Castellanos

Descripci�n: WordSetFactory. Clase  utilizada para instanciar los diferentes tipos de sets. 
*/
class WordSetFactory <E>{
	
	// Metodo que genera un objeto que implementa WordSet
	// parametro tipo: 1 = SimpleSet
	//                         2 = implementado con Red black tree
	//                         3 = implementado con Splay Tree
	//                         4 = implementado con Hash Table
	
	public static WordSet generateSet(int tipo)
	{
	    if (tipo == 1) {
                    System.out.println("Implementación utilizada: Simple Set ");
		    return new SimpleSet();
            }
            else if (tipo==2){
                    System.out.println("Implementación utilizada: RedBlackTree ");
                    return new WordRedBlackTree();
            }                            
            else if (tipo==3){
                    System.out.println("Implementación utilizada: Splay ");
                    return new WordSplayTree();
            }
            else if (tipo==4){
                    System.out.println("Implementación utilizada: Hash Table ");
                    return new WordHashtable();
            }
            else if (tipo==5){
                    System.out.println("Implementación utilizada: Vector ");
                    return new WordVector();
            }
            else{
		    return null;
            }
	}
}